package com.intelligent.ispc.utils;

import com.google.common.collect.Lists;
import com.intelligent.ispc.core.dto.GRRDataDto;
import com.intelligent.ispc.core.entity.TestData;

import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;

/**
 * Created by julia on 16/06/07.
 */
public class ComparatorGRRTestData implements Comparator {
    @Override
    public int compare(Object o1, Object o2) {
        GRRDataDto grrDataDto1 =(GRRDataDto)o1;
        GRRDataDto grrDataDto2 =(GRRDataDto)o2;

        String serialNumber1 = grrDataDto1.getPart();
        String serialNumber2 = grrDataDto2.getPart();

        int flag = serialNumber1.compareTo(serialNumber2);

        if(flag==0){
            String operator1 = grrDataDto1.getOperator();
            String operator2 = grrDataDto2.getOperator();
            int p = operator1.compareTo(operator2);
            if(p==0){
                Integer trial1 = Integer.valueOf(grrDataDto1.getTrial());
                Integer trial2 = Integer.valueOf(grrDataDto2.getTrial());
                return trial1.compareTo(trial2);
            } else {
                return p;
            }
        }else{
            return flag;
        }
    }

    public static void main(String[] args){
        int p = 3;
        int s = 3;
        int t = 5;
        //t first
        for (int i = 1; i < 4; i++) {
            int n =1, k=1;
            for (int j = 1; j < 16; j++) {
                if (n == t +1) {
                    k++;
                    n = 1;
                }
                System.out.println(n + "***" + k);
                n++;
            }
        }

        //p first
        for (int i = 1; i < 4; i++) {
            int n =1, k=1;
            for (int j = 1; j < 16; j++) {
                if (n == p +1) {
                    k++;
                    n = 1;
                }
                System.out.println(n + "*888**" + k);
                n++;
            }
        }
        List<GRRDataDto> grrDataDtoList = Lists.newArrayList();
        GRRDataDto grrDataDto1 = new GRRDataDto();
        grrDataDto1.setPart("1");
        grrDataDto1.setOperator("1");
        grrDataDto1.setTrial("1");
        GRRDataDto grrDataDto2 = new GRRDataDto();
        grrDataDto2.setPart("1");
        grrDataDto2.setOperator("3");
        grrDataDto2.setTrial("1");

        GRRDataDto grrDataDto3 = new GRRDataDto();
        grrDataDto3.setPart("2");
        grrDataDto3.setOperator("1");
        grrDataDto3.setTrial("3");

        GRRDataDto grrDataDto4 = new GRRDataDto();
        grrDataDto4.setPart("2");
        grrDataDto4.setOperator("1");
        grrDataDto4.setTrial("1");

        GRRDataDto grrDataDto5 = new GRRDataDto();
        grrDataDto5.setPart("2");
        grrDataDto5.setOperator("1");
        grrDataDto5.setTrial("2");

        GRRDataDto grrDataDto6 = new GRRDataDto();
        grrDataDto6.setPart("1");
        grrDataDto6.setOperator("2");
        grrDataDto6.setTrial("1");

        grrDataDtoList.add(grrDataDto1);
        grrDataDtoList.add(grrDataDto3);
        grrDataDtoList.add(grrDataDto6);
        grrDataDtoList.add(grrDataDto2);
        grrDataDtoList.add(grrDataDto5);
        grrDataDtoList.add(grrDataDto4);

        for (GRRDataDto dd : grrDataDtoList) {
            System.out.println(dd);
        }
        System.out.println("*******");

        Collections.sort(grrDataDtoList, new ComparatorGRRTestData());
        for (GRRDataDto dd : grrDataDtoList) {
            System.out.println(dd);
        }

    }

    /*GRRDataDto grrDataDto1 = new GRRDataDto();
    grrDataDto1.setPart("1");
    grrDataDto1.setOperator("1");
    //grrDataDto1.setTrial("1");
    GRRDataDto grrDataDto2 = new GRRDataDto();
    grrDataDto2.setPart("1");
    grrDataDto2.setOperator("1");
    //grrDataDto2.setTrial("1");

    GRRDataDto grrDataDto3 = new GRRDataDto();
    grrDataDto3.setPart("1");
    grrDataDto3.setOperator("1");
    //grrDataDto3.setTrial("3");

    GRRDataDto grrDataDto4 = new GRRDataDto();
    grrDataDto4.setPart("1");
    grrDataDto4.setOperator("1");

    GRRDataDto grrDataDto41 = new GRRDataDto();
    grrDataDto41.setPart("1");
    grrDataDto41.setOperator("1");

    GRRDataDto grrDataDto42 = new GRRDataDto();
    grrDataDto42.setPart("1");
    grrDataDto42.setOperator("1");

    GRRDataDto grrDataDto43 = new GRRDataDto();
    grrDataDto43.setPart("1");
    grrDataDto43.setOperator("1");

    GRRDataDto grrDataDto44 = new GRRDataDto();
    grrDataDto44.setPart("1");
    grrDataDto44.setOperator("1");

    GRRDataDto grrDataDto45 = new GRRDataDto();
    grrDataDto45.setPart("1");
    grrDataDto45.setOperator("1");
    // grrDataDto4.setTrial("1");

    GRRDataDto grrDataDto46 = new GRRDataDto();
    grrDataDto46.setPart("1");
    grrDataDto46.setOperator("1");

    GRRDataDto grrDataDto5 = new GRRDataDto();
    grrDataDto5.setPart("1");
    grrDataDto5.setOperator("2");
    //grrDataDto5.setTrial("2");

    GRRDataDto grrDataDto6 = new GRRDataDto();
    grrDataDto6.setPart("1");
    grrDataDto6.setOperator("2");
    //grrDataDto6.setTrial("1");

    GRRDataDto grrDataDto7 = new GRRDataDto();
    grrDataDto7.setPart("1");
    grrDataDto7.setOperator("2");
    //grrDataDto6.setTrial("1");

    GRRDataDto grrDataDto8 = new GRRDataDto();
    grrDataDto8.setPart("1");
    grrDataDto8.setOperator("2");

    GRRDataDto grrDataDto9 = new GRRDataDto();
    grrDataDto9.setPart("1");
    grrDataDto9.setOperator("2");

    GRRDataDto grrDataDto91 = new GRRDataDto();
    grrDataDto91.setPart("1");
    grrDataDto91.setOperator("2");

    GRRDataDto grrDataDto92 = new GRRDataDto();
    grrDataDto92.setPart("1");
    grrDataDto92.setOperator("2");

    GRRDataDto grrDataDto93 = new GRRDataDto();
    grrDataDto93.setPart("1");
    grrDataDto93.setOperator("2");

    GRRDataDto grrDataDto94 = new GRRDataDto();
    grrDataDto94.setPart("1");
    grrDataDto94.setOperator("2");

    GRRDataDto grrDataDto95 = new GRRDataDto();
    grrDataDto95.setPart("1");
    grrDataDto95.setOperator("2");

    //grrDataDto6.setTrial("1");
    grrDataDtoList.add(grrDataDto1);
    grrDataDtoList.add(grrDataDto2);
    grrDataDtoList.add(grrDataDto3);
    grrDataDtoList.add(grrDataDto4);
    grrDataDtoList.add(grrDataDto41);
    grrDataDtoList.add(grrDataDto42);
    grrDataDtoList.add(grrDataDto43);
    grrDataDtoList.add(grrDataDto44);
    grrDataDtoList.add(grrDataDto45);
    grrDataDtoList.add(grrDataDto46);


    grrDataDtoList.add(grrDataDto5);
    grrDataDtoList.add(grrDataDto6);
    grrDataDtoList.add(grrDataDto7);
    grrDataDtoList.add(grrDataDto8);
    grrDataDtoList.add(grrDataDto9);
    grrDataDtoList.add(grrDataDto91);
    grrDataDtoList.add(grrDataDto92);
    grrDataDtoList.add(grrDataDto93);
    grrDataDtoList.add(grrDataDto94);
    grrDataDtoList.add(grrDataDto95);*/
}

